home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / basic / pbtool.exe / FILEWIPE.BAS < prev    next >
BASIC Source File  |  1991-10-31  |  2KB  |  89 lines

  1. '----------------------------------------------------------
  2. '  PROGRAM: FILEWP2.BAS        PROGRAMMER: A. KELLETT
  3. '  DATE-WRITTEN: 05/23/91
  4. '  USING POWER BASIC V2.10A
  5. '
  6. '  THIS PROGRAM WIPES A FILE BY OVERWRITING ALL CHARACTERS.
  7. '
  8. '  VERSION: 0.60    LAST UPDATED: 10/07/91
  9. '----------------------------------------------------------
  10. WIPE.BYTE$ = CHR$(85)  '****  PATTERN IS   01010101   ****
  11.  
  12. CLS
  13. locate 1,25:print "FILEWIPE --  A. KELLETT"
  14. LOCATE 2,15:PRINT "THIS PROGRAM WIPES A SPECIFIED FILE ON DISK"
  15. LOCATE 3,15:PRINT "AND YOU MAY DELETE THE FILE IF NEEDED."
  16.  
  17. LOCATE 5,15:INPUT "NAME OF INPUT FILE: ";FILENAME1$
  18.  
  19. '*** CHECK VALIDITY OF INPUT FILE NAME ***
  20. OPEN FILENAME1$ FOR BINARY AS #1
  21.    IF LOF(1) < 1 THEN
  22.       PRINT "THE INPUT FILE DOES NOT EXISTS."
  23.       CLOSE #1
  24.       KILL FILENAME1$
  25.       DELAY 2.5
  26.       LOCATE 22,1
  27.       END
  28.    END IF
  29.    FILE1EOF& = LOF(1)
  30. CLOSE #1
  31.  
  32. LOCATE 10,10:PRINT "NOW OVERWRITING FILE ";FILENAME1$
  33. LOCATE 12,10:PRINT USING "BYTES IN FILE ###,###";FILE1EOF&
  34. LOCATE 13,10:PRINT "WORKING ON"
  35.  
  36. IF FILE1EOF& > 1000 THEN
  37.    GOSUB BIG
  38. ELSE
  39.    GOSUB LITTLE
  40. END IF
  41.  
  42. LOCATE 15,10:INPUT "DELETE THE FILE? [Y/N] ";ANSWER$
  43. IF UCASE$(ANSWER$) = "Y" THEN
  44.    KILL FILENAME1$
  45.    LOCATE 16,10:PRINT "FILE DELETED."
  46. ELSE
  47.    LOCATE 16,10:PRINT "FILE OVERWRITTEN BUT NOT DELETED."
  48. END IF
  49.  
  50. END
  51. '
  52. '----------------------------------------------------------
  53. LITTLE:
  54.    OPEN FILENAME1$ FOR BINARY AS #1
  55.    FOR RECPOSITION& = 0 TO (FILE1EOF& - 1)
  56.       SEEK 1, RECPOSITION&
  57.       PUT$ 1, WIPE.BYTE$
  58.       LOCATE 13,20:PRINT USING " ###,###";RECPOSITION& + 1
  59.    NEXT RECPOSITION&
  60.    CLOSE #1
  61. RETURN
  62. '
  63. '----------------------------------------------------------
  64. BIG:
  65.    RECPOSITION& = 0
  66.    OPEN FILENAME1$ FOR BINARY AS #1
  67.       WIPE.STRING$ = STRING$(1000,WIPE.BYTE$)
  68.       X% = 0
  69.       DO WHILE X% <> 1
  70.          SEEK 1, RECPOSITION&
  71.          PUT$ 1, WIPE.STRING$
  72.          LOCATE 13,20:PRINT USING "#,###,###";RECPOSITION&+ 1
  73.          RECPOSITION& = LOC(1)
  74.          IF RECPOSITION& => FILE1EOF& THEN
  75.             X% = 1
  76.          ELSE
  77.             IF RECPOSITION& > (FILE1EOF& - 1000) THEN
  78.                WIPE.STRING$ = STRING$((FILE1EOF& - RECPOSITION&),WIPE.BYTE$)
  79.                SEEK 1, RECPOSITION&
  80.                PUT$ 1, WIPE.STRING$
  81.                X% = 1
  82.             END IF
  83.          END IF
  84.       WEND
  85.    CLOSE #1
  86.  
  87. RETURN
  88.  
  89.